package com.jcfk.eam.domain.po.main;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.jcfk.common.business.entity.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产台账
 *
 * @author awei
 * @email 522891237@gqq.com
 * @date 2024-11-13
 */
@Data
@TableName("eam_asset_info")
public class EamAssetInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 资产编号;模具编号
     */
    @TableField("asset_code")
    private String assetCode;

    /**
     * 资产名称;模具名称
     */
    @TableField("asset_name")
    private String assetName;

    /**
     * 资产大类
     */
    @TableField("asset_kind")
    private Integer assetKind;

    /**
     * 资产类型主键
     */
    @TableField("asset_type_id")
    private String assetTypeId;

    /**
     * 资产类型编码
     */
    @TableField("asset_type_code")
    private String assetTypeCode;

    /**
     * 资产类型名称
     */
    @TableField("asset_type_name")
    private String assetTypeName;

    /**
     * 资产重要性
     */
    @TableField("asset_importance")
    private Integer assetImportance;

    /**
     * 额定功率（KW)
     */
    @TableField("rated_power")
    private BigDecimal ratedPower;

    /**
     * 功率合计（KW)
     */
    @TableField("total_power")
    private BigDecimal totalPower;

    /**
     * 电源所在轴
     */
    @TableField("power_axis")
    private String powerAxis;

    /**
     * 资产品牌主键
     */
    @TableField("asset_brand_id")
    private String assetBrandId;

    /**
     * 资产品牌
     */
    @TableField("asset_brand_name")
    private String assetBrandName;

    /**
     * 资产型号主键
     */
    @TableField("asset_model_id")
    private String assetModelId;

    /**
     * 资产型号
     */
    @TableField("asset_model_no")
    private String assetModelNo;

    /**
     * 资产规格
     */
    @TableField(value = "asset_specification", updateStrategy = FieldStrategy.IGNORED)
    private String assetSpecification;

    /**
     * 资产状态
     */
    @TableField("asset_status")
    private Integer assetStatus;

    /**
     * 资产数量
     */
    @TableField("asset_quantity")
    private Integer assetQuantity;

    /**
     * 数量单位
     */
    @TableField("quantity_unit")
    private String quantityUnit;

    /**
     * 制造商主键
     */
    @TableField(value = "maker_id", updateStrategy = FieldStrategy.IGNORED)
    private String makerId;

    /**
     * 制造商编号
     */
    @TableField(value = "maker_code", updateStrategy = FieldStrategy.IGNORED)
    private String makerCode;

    /**
     * 制造商名称
     */
    @TableField(value = "maker_name", updateStrategy = FieldStrategy.IGNORED)
    private String makerName;

    /**
     * 制造商联系人
     */
    @TableField(value = "maker_contact_name", updateStrategy = FieldStrategy.IGNORED)
    private String makerContactName;

    /**
     * 制造商联系电话
     */
    @TableField(value = "maker_contact_phone", updateStrategy = FieldStrategy.IGNORED)
    private String makerContactPhone;

    /**
     * 资产产品id
     */
    @TableField("product_id")
    private String productId;

    /**
     * 资产产品编号
     */
    @TableField("product_code")
    private String productCode;

    /**
     * 资产产品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 项目id
     */
    @TableField("project_id")
    private String projectId;

    /**
     * 项目编号
     */
    @TableField("project_code")
    private String projectCode;

    /**
     * 项目名称
     */
    @TableField("project_name")
    private String projectName;

    /**
     * 图号
     */
    @TableField(value = "drawing_number", updateStrategy = FieldStrategy.IGNORED)
    private String drawingNumber;

    /**
     * 订货号
     */
    @TableField(value = "order_number", updateStrategy = FieldStrategy.IGNORED)
    private String orderNumber;

    /**
     * 表头编号
     */
    @TableField(value = "header_number", updateStrategy = FieldStrategy.IGNORED)
    private String headerNumber;

    /**
     * 出厂编号
     */
    @TableField(value = "manufacture_code", updateStrategy = FieldStrategy.IGNORED)
    private String manufactureCode;

    /**
     * 供应商主键
     */
    @TableField("supplier_id")
    private String supplierId;

    /**
     * 供应商编码
     */
    @TableField("supplier_code")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @TableField("supplier_name")
    private String supplierName;

    /**
     * 量检具类别
     */
    @TableField(value = "measuring_type", updateStrategy = FieldStrategy.IGNORED)
    private Integer measuringType;

    /**
     * 到货日期
     */
    @TableField("arrival_date")
    private Date arrivalDate;

    /**
     * 是否是固定资产
     */
    @TableField("is_fixed_asset")
    private Integer isFixedAsset;
    ;

    /**
     * 固定资产编号
     */
    @TableField(value = "fixed_asset_code", updateStrategy = FieldStrategy.IGNORED)
    private String fixedAssetCode;

    /**
     * 累计使用次数
     */
    @TableField("cumulative_use_times")
    private Integer cumulativeUseTimes;

    /**
     * 资产寿命
     */
    @TableField("asset_lifespan")
    private Integer assetLifespan;

    /**
     * 资产原值
     */
    @TableField("original_value")
    private BigDecimal originalValue;

    /**
     * 资产折旧后价值
     */
    @TableField("residual_value")
    private BigDecimal residualValue;

    /**
     * 管理部门主键
     */
    @TableField("manage_department_id")
    private String manageDepartmentId;

    /**
     * 管理部门
     */
    @TableField("manage_department_name")
    private String manageDepartmentName;

    /**
     * 资产管理人主键
     */
    @TableField("asset_manager_id")
    private String assetManagerId;

    /**
     * 资产管理人
     */
    @TableField("asset_manager_name")
    private String assetManagerName;

    /**
     * 使用部门主键
     */
    @TableField(value = "using_department_id", updateStrategy = FieldStrategy.IGNORED)
    private String usingDepartmentId;

    /**
     * 使用部门
     */
    @TableField(value = "using_department_name", updateStrategy = FieldStrategy.IGNORED)
    private String usingDepartmentName;

    /**
     * 使用人主键
     */
    @TableField(value = "using_person_id", updateStrategy = FieldStrategy.IGNORED)
    private String usingPersonId;

    /**
     * 使用人
     */
    @TableField(value = "using_person_name", updateStrategy = FieldStrategy.IGNORED)
    private String usingPersonName;

    /**
     * 使用日期
     */
    @TableField(value = "using_date", updateStrategy = FieldStrategy.IGNORED)
    private Date usingDate;

    /**
     * 维修部门主键
     */
    @TableField("repair_department_id")
    private String repairDepartmentId;

    /**
     * 维修部门
     */
    @TableField("repair_department_name")
    private String repairDepartmentName;

    /**
     * 维修负责人主键
     */
    @TableField("repair_manager_id")
    private String repairManagerId;

    /**
     * 维修负责人
     */
    @TableField("repair_manager_name")
    private String repairManagerName;

    /**
     * 位置主键
     */
    @TableField(value = "location_id", updateStrategy = FieldStrategy.IGNORED)
    private String locationId;

    /**
     * 位置
     */
    @TableField(value = "location_name", updateStrategy = FieldStrategy.IGNORED)
    private String locationName;

    /**
     * 安装位置描述
     */
    @TableField("install_location_explain")
    private String installLocationExplain;

    /**
     * 标定周期
     */
    @TableField(value = "check_period", updateStrategy = FieldStrategy.IGNORED)
    private Integer checkPeriod;

    /**
     * 上次检定日期
     */
    @TableField("prev_check_date")
    private Date prevCheckDate;

    /**
     * 标定到期日
     */
    @TableField(value = "next_check_date", updateStrategy = FieldStrategy.IGNORED)
    private Date nextCheckDate;

    /**
     * 标定地点
     */
    @TableField(value = "check_place", updateStrategy = FieldStrategy.IGNORED)
    private String checkPlace;

    /**
     * 标定人
     */
    @TableField(value = "check_person", updateStrategy = FieldStrategy.IGNORED)
    private String checkPerson;

    /**
     * 测量精度
     */
    @TableField("measuring_accuracy")
    private BigDecimal measuringAccuracy;

    /**
     * 准确度等级
     */
    @TableField(value = "accuracy_level", updateStrategy = FieldStrategy.IGNORED)
    private String accuracyLevel;

    /**
     * 测量分度
     */
    @TableField(value = "measuring_division", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal measuringDivision;

    /**
     * 测量范围
     */
    @TableField("measuring_range")
    private String measuringRange;

    /**
     * 资产属性1
     */
    @TableField(value = "asset_attribute1", updateStrategy = FieldStrategy.IGNORED)
    private String assetAttribute1;

    /**
     * 企业编号
     */
    @TableField("enterprise_code")
    private String enterpriseCode;

    /**
     * 备注
     */
    @TableField(value = "remarks", updateStrategy = FieldStrategy.IGNORED)
    private String remarks;

    /**
     * 入账日期
     */
    @TableField("account_date")
    private Date accountDate;

    /**
     * 是否停用
     */
    @TableField("enabled")
    private Integer enabled;

    /**
     * 是否删除
     */
    @TableField("deleted")
    private Integer deleted;

    /**
     * 组织机构主键
     */
    @TableField("organization_id")
    private String organizationId;

    /**
     * 创建人
     */
    @TableField("created_user_name")
    private String createdUserName;

    /**
     * 更新人
     */
    @TableField("last_updated_user_name")
    private String lastUpdatedUserName;

    @Version
    @TableField(value = "version")
    private Long version;

    /**
     * 库存状态  1在库 0不在库
     */
    @TableField(value = "storage_status")
    private Integer storageStatus;
    /**
     * 模具框ID
     */
    @TableField(value = "mould_package_id")
    private String mouldPackageId;
    /**
     * 工序
     */
    @TableField(value = "process")
    private Integer process;
    /**
     * 是否客户资产
     */
    @TableField(value = "is_customer")
    private Integer isCustomer;
}